Facilitating access to digital video

ABSTRACT

A digital video editing system uses a graphical user interface which facilitates the selection of a video sequence of interest and its representation in a conveniently visualized form. Through the graphical user interface, the user may select a starting frame, a time interval, and a number of frames within the time interval which may be represented by thumbnail depictions of selected video frames. Once the video sequence is represented by a selected sequence of video frames over a selected interval, the user can then use editing techniques to manipulate the portions of the video sequence represented by the thumbnail depictions.

BACKGROUND

This invention relates generally to editing video stored in a digital format.

A number of formats for digital video currently exist. For example, in connection with so called broadcast pause and resume systems, a conventional hard disk drive may be utilized to store streaming television programming. These systems may alternatively read and write video from and to the same storage medium such as a hard disk drive. In addition, digital video may be stored on a digital versatile disk or other optical storage media.

Once the video has been stored in a digital format, manipulation of that video may be undertaken using processor-based systems. For example, conventional digital versatile disk players may incorporate a selective zoom function wherein the user may use a remote control to zoom a portion of the picture in a selected quadrant.

However, in most conventional digital formats, the ability to edit the stored video is relatively limited. The user can replay the information by selecting zoom features, slow motion, stills, and other techniques but the ability to manipulate the data is still relatively limited.

Thus, there is a need for more ways to manipulate digital video data stored on digital storage media.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a screen display in accordance with one embodiment of the present invention;

FIG. 2 is a flow chart for use in connection with the screen display shown in FIG. 1;

FIG. 3 is a flow chart for use in connection with the screen display shown in FIG. 1; and

FIG. 4 is a block diagram of hardware for implementing one embodiment of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 1, a graphical user interface 10 which may be displayed on a display screen of a processor-based system is useful in editing digital video data. The display screen may be any of a variety of video displays.

For example, the screen may be a liquid crystal display on a video camera, a monitor for a computer system or a television receiver coupled to a set-top box.

The graphical user interface 10 may be utilized to selectively manipulate digital data in the form of a plurality of video frames 18. The plurality of frames 18 may be automatically displayed as a storyboard or gridwork of thumbnail displays. Thus, each frame is shown in a reduced size commonly called a “thumbnail”. A video sequence to be edited may be represented by the thumbnail frames. The sequence may be selected from a longer video by choosing a start time and a time interval from the start frame. The number of thumbnail frames over the selected interval, taken at regular times, may also be selected.

The user may use an icon 12 to indicate the start time for the selection of the thumbnails 18. The time interval icon 14 may be utilized to indicate the amount of time within a longer video sequence which is of interest. The icon 16 allows the number of frames within the selected time interval, starting at the start time, to be selected by the user. For example, with the start time icon 12, an increase button interface 22 and a decrease button 20 are provided on either side of a display 24 vary the selected start time. The display 24 may indicate the selected start frame by a time indicator.

The frames of any video sequence may be enumerated using a conventional time based system such as the standard promulgated by the Society of Motion Picture and Television Engineers (White Plains, N.Y. 10607) denominated as SMPTE 12M-1999 Television, Audio and Film-Time and Control Code. Each frame may be identified by a time in hours, minutes, seconds and thirtieths of seconds, with video having 30 frames per second. A start time may be indicated in second fractions, seconds, minutes and hours.

When the user presses the increase button interface 22, the start time, displayed on the display 24, increases. Similarly, the time interval, during which the thumbnails 18 are selected, may be controlled by an icon 28 which causes the time interval to be increased, and an icon 26 which decreases the time interval. In the illustrated embodiment, the start time is the time zero and the time interval is sixteen minutes. Thus, sixteen minutes of video are selected for producing the thumbnails. The number of frames selected within the time interval, entered through the icon 16, may be increased with the button interface 36 and decreased with the button interface 32. The number of frames are indicated in the display 34 as being sixteen in the illustrated embodiment.

Thus, as indicated below the icons 12, 14 and 16, sixteen thumbnail frames at one minute time intervals are displayed. A frame is selected at the beginning of each one minute increment. For each minute of video, using video at thirty frames per second, one thousand eight hundred frames are represented by the single starting frame illustrated as a thumbnail 18. Thus, each minute after the initial starting time of zero, a frame is selected and displayed as a thumbnail 18 until sixteen frame thumbnails 18 are displayed. Since the number of selected frames was sixteen, sixteen minutes were selected as the interval and the start time was zero, starting from the beginning of the video, sixteen thumbnail frames 18 are displayed, one for each one minute of video.

The user may increase the start time from that illustrated in FIG. 1 and may increase or decrease the selected time interval and the number of frames as described previously. Thus, the user can select a given resolution in the terms of the number of frames to control the manipulation of the video sequence. The length of the video sequence in terms of the time interval may also be selected. Likewise, the location of the video sequence of interest may be controlled.

Once a representation of a given time interval of a video sequence is created, via the graphical user interface 10, the user can set about editing that video sequence. For example, sections of the time interval of video frames, displayed on the graphical user interface 10 may be eliminated by simply indicating a start and stop frame 18 for the group of frames to be eliminated. The start and stop frames and the intervening frames (between the start and stop frames) are thereby eliminated.

Similarly, different video effects may be applied selectively to a video sequence represented by the thumbnail frames 18. For example, fade ins, fade outs or other video effects may be provided. The light intensity of the various frames may be changed as well. The graphical user interface 10 provides a convenient way to manipulate a given section of video data. Through the use of the icons 12, 14 and 16, the window which defines the way the video sequence is visualized for editing purposes may be easily adjusted by the user.

The software 38 for implementing the graphical user interface 10, shown in FIG. 2, begins by determining whether the graphical user interface 10 has been selected as indicated in diamond 40. If so, the flow waits for a start time selection through the icon 12. Once the start time is selected, the first frame is designated, grabbed and stored as indicated in block 44. Next, the flow waits for the time interval selection as indicated in diamond 46. Once that selection is made, the portion of the video which is of interest is defined and the corresponding frames may be grabbed as indicated in block 48. Finally, the number of frames that are utilized to represent the video may be provided in response to a query represented by the diamond 50. Once that information is provided, the software 38 may then display the graphical user interface 10. If any of the selections are not timely made through the icons 12, 14 and 16, default values may be entered automatically.

Referring next to FIG. 3, the software 60 for editing the video represented by the graphical user interface 10 may implement a frame elimination protocol in one embodiment of the present invention. Initially, the user indicates a start frame as indicated in diamond 62. Once the user indicates a start frame, that start frame identifier is stored as indicated in block 64. The identifier may include an hour, minute, second, and subsecond designation of the particular frame in the sequence. That information may be provided in a header associated with the frame. Next, the software 60 awaits the user's input of an end frame as indicated in diamond 66. Once this input is received, the end frame identifier may be stored as indicated in block 68. The intervening frames are then eliminated as indicated in block 70.

In this way, the graphical user interface 10 provides an easy way for the user to visualize a sequence of video. The software 38 creates a graphical user interface 10, including the icons 12, 14 and 16, that facilitates the manipulation of the storyboard which represents a video sequence.

Embodiments of the present invention may be used as a suppression tool, suppressing access to offensive or obscene video portions. For example, a parent may wish to prevent a child from viewing portions of a video. With the present invention, a series of frames of video may be tagged to prevent viewing under certain circumstances. For example, an access code may be required to view the tagged sequence of frames.

Another application for embodiments of the present invention is in connection with so-called broadcast pause and resume systems. These systems enable a user to store and replay video at the same time. However, the user must also navigate through the video sequences to facilitate the broadcast pause and resume features. Using embodiments of the present invention, one can readily navigate within the stored video.

A processor-based system 72, shown in FIG. 4, in accordance with one embodiment of the present invention generates the graphical user interface 10 on a television display 84. The system 84 is a set-top box but the present invention is in no way limited to this embodiment. It is applicable to a wide variety of systems which display and store digital video information including digital video cameras, desktop computers, laptop computers, portable and handheld devices, appliances, as examples.

The system 72 includes a processor 74 coupled to an accelerated graphics port (AGP) chipset 76 for implementing an accelerated graphics port embodiment. The chipset 76 communicates with the AGP port 80 and the graphics accelerator 82. A television 84 may be coupled to the video output of the graphics accelerator 82. The graphical user interface 10 may be displayed on the television 84. The television 84 may be coupled to the video output of the graphics accelerator 82. The chipset 76 accommodates the system memory 78.

The chipset 76 is also coupled to a bus 86 which may be, for example, a Peripheral Component Interconnect (PCI) bus. The PCI Local Bus Specification, Rev. 2.2 is available from the PCI Special Interest Group, Portland, Oreg. 97124. The bus 86 connects to a TV tuner/capture card 88 which is coupled to an antenna 90 or other video input such as a cable input, a satellite receiver/antenna or the like. The TV tuner/capture card 88 selects a desired television channel and also performs a video capture function. One exemplary video capture card is the ISVR-III video capture card available from Intel Corporation.

The bus 86 is also coupled to a bridge 92 which couples a hard disk drive 94. The software 38 and 60 may be stored on the hard disk 94 together with the video sequence being manipulated. The bridge 92 is also coupled to another bus 96. The bus 96 may be coupled to a serial input/output device 98. The device 98 is in turn connected to an infrared interface 100 which interacts with a remote control unit 104 which is also infrared based. Also connected to the bus 96 is a basic input/output system (BIOS) 102.

While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention. 

1. A method comprising: receiving an indication of a starting frame of a video sequence; automatically displaying a thumbnail depiction of the selected starting frame of the sequence; receiving an indication of the time interval of the sequence; and automatically displaying a thumbnail depiction of a series of frames following said starting frame sufficient to fill said time interval.
 2. The method of claim 1 including receiving an indication of the desired number of frames in the video sequence.
 3. The method of claim 2 including automatically adjusting the number of frames in the video sequence in response to the indication of the selected number of frames.
 4. The method of claim 3 including automatically displaying a thumbnail depiction of the selected number of frames.
 5. The method of claim 1 including receiving edit commands using said thumbnail depictions of said frames.
 6. The method of claim 1 wherein receiving an indication of a starting frame of a video sequence includes receiving an indication of a starting time for said video sequence.
 7. An article comprising a medium storing instructions that, if executed, enable a processor-based system to: receive an indication of a starting frame of a video sequence; automatically display a thumbnail depiction of the selected starting frame of the sequence; receive an indication of the time interval of the sequence; and automatically display a thumbnail depiction of a series of frames following said starting frame sufficient to fill said time interval.
 8. The article of claim 7 further storing instructions that, if executed, enable the processor-based system to receive an indication of the desired number of frames in the video sequence.
 9. The article of claim 8 further storing instructions that, if executed, enable the processor-based system to automatically adjust the number of frames in the video sequence in response to the indication of a selected number of frames.
 10. The article of claim 9 further storing instructions that, if executed, enable the processor-based system to automatically display a thumbnail depiction of the selected number of frames.
 11. The article of claim 7 further storing instructions that, if executed, enable the processor-based system to receive edit commands using said thumbnail depictions of said frames.
 12. The article of claim 7 further storing instructions that, if executed, enable the processor-based system to receive an indication of a starting time for said video sequence as said indication of the starting frame of a video sequence.
 13. A system comprising: a processor; and a storage coupled to said processor, said storage storing instructions that enable said processor to receive an indication of a starting frame of a video sequence, automatically display a thumbnail depiction of the selected starting frame of the sequence, receive an indication of the time interval of the sequence, and automatically display a thumbnail depiction of a series of frames following said starting frame sufficient to fill said time interval.
 14. The system of claim 13 wherein said storage further stores instructions that enable the processor to receive an indication of the desired number of frames in the video sequence. 